home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Displays.p < prev    next >
Encoding:
Text File  |  1998-02-12  |  27.5 KB  |  661 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Displays.p
  3.  
  4.      Contains:    Display Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.1
  8.  
  9.      Copyright:    © 1993-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Displays;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __DISPLAYS__}
  28. {$SETC __DISPLAYS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC DisplaysIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __CONDITIONALMACROS__}
  35. {$I ConditionalMacros.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __COMPONENTS__}
  38. {$I Components.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __VIDEO__}
  41. {$I Video.p}
  42. {$ENDC}
  43.  
  44. {$IFC UNDEFINED __APPLEEVENTS__}
  45. {$I AppleEvents.p}
  46. {$ENDC}
  47. {$IFC UNDEFINED __EVENTS__}
  48. {$I Events.p}
  49. {$ENDC}
  50. {$IFC UNDEFINED __PROCESSES__}
  51. {$I Processes.p}
  52. {$ENDC}
  53. {$IFC UNDEFINED __DIALOGS__}
  54. {$I Dialogs.p}
  55. {$ENDC}
  56.  
  57. {$PUSH}
  58. {$ALIGN MAC68K}
  59. {$LibExport+}
  60.  
  61. {$IFC UNDEFINED FOR_GLUE_LIB }
  62. {$SETC FOR_GLUE_LIB := 0 }
  63. {$ENDC}
  64.  
  65. {$IFC UNDEFINED FOR_68kGLUE_LIB }
  66. {$SETC FOR_68kGLUE_LIB := 0 }
  67. {$ENDC}
  68.  
  69.  
  70. CONST
  71.                                                                 {  AppleEvents Core Suite  }
  72.     kAESystemConfigNotice        = 'cnfg';                        {  Core Suite types  }
  73.     kAEDisplayNotice            = 'dspl';
  74.     kAEDisplaySummary            = 'dsum';
  75.     keyDMConfigVersion            = 'dmcv';
  76.     keyDMConfigFlags            = 'dmcf';
  77.     keyDMConfigReserved            = 'dmcr';
  78.     keyDisplayID                = 'dmid';
  79.     keyDisplayComponent            = 'dmdc';
  80.     keyDisplayDevice            = 'dmdd';
  81.     keyDisplayFlags                = 'dmdf';
  82.     keyDisplayMode                = 'dmdm';
  83.     keyDisplayModeReserved        = 'dmmr';
  84.     keyDisplayReserved            = 'dmdr';
  85.     keyDisplayMirroredId        = 'dmmi';
  86.     keyDeviceFlags                = 'dddf';
  87.     keyDeviceDepthMode            = 'dddm';
  88.     keyDeviceRect                = 'dddr';
  89.     keyPixMapRect                = 'dpdr';
  90.     keyPixMapHResolution        = 'dphr';
  91.     keyPixMapVResolution        = 'dpvr';
  92.     keyPixMapPixelType            = 'dppt';
  93.     keyPixMapPixelSize            = 'dpps';
  94.     keyPixMapCmpCount            = 'dpcc';
  95.     keyPixMapCmpSize            = 'dpcs';
  96.     keyPixMapAlignment            = 'dppa';
  97.     keyPixMapResReserved        = 'dprr';
  98.     keyPixMapReserved            = 'dppr';
  99.     keyPixMapColorTableSeed        = 'dpct';
  100.     keySummaryMenubar            = 'dsmb';
  101.     keySummaryChanges            = 'dsch';
  102.     keyDisplayOldConfig            = 'dold';
  103.     keyDisplayNewConfig            = 'dnew';
  104.  
  105.     dmOnlyActiveDisplays        = true;
  106.     dmAllDisplays                = false;
  107.  
  108.  
  109.                                                                 {  DMSendDependentNotification notifyClass  }
  110.     kDependentNotifyClassShowCursor = 'shcr';                    {  When display mgr shows a hidden cursor during an unmirror  }
  111.     kDependentNotifyClassDriverOverride = 'ndrv';                {  When a driver is overridden  }
  112.     kDependentNotifyClassDisplayMgrOverride = 'dmgr';            {  When display manager is upgraded  }
  113.     kDependentNotifyClassProfileChanged = 'prof';                {  When DMSetProfileByAVID is called  }
  114.  
  115.  
  116.                                                                 {  Switch Flags  }
  117.     kNoSwitchConfirmBit            = 0;                            {  Flag indicating that there is no need to confirm a switch to this mode  }
  118.     kDepthNotAvailableBit        = 1;                            {  Current depth not available in new mode  }
  119.     kShowModeBit                = 3;                            {  Show this mode even though it requires a confirm.  }
  120.     kModeNotResizeBit            = 4;                            {  Do not use this mode to resize display (for cards that mode drives a different connector).  }
  121.     kNeverShowModeBit            = 5;                            {  This mode should not be shown in the user interface.  }
  122.  
  123. {    Summary Change Flags (sticky bits indicating an operation was performed)
  124.     For example, moving a display then moving it back will still set the kMovedDisplayBit.
  125. }
  126.     kBeginEndConfigureBit        = 0;
  127.     kMovedDisplayBit            = 1;
  128.     kSetMainDisplayBit            = 2;
  129.     kSetDisplayModeBit            = 3;
  130.     kAddDisplayBit                = 4;
  131.     kRemoveDisplayBit            = 5;
  132.     kNewDisplayBit                = 6;
  133.     kDisposeDisplayBit            = 7;
  134.     kEnabledDisplayBit            = 8;
  135.     kDisabledDisplayBit            = 9;
  136.     kMirrorDisplayBit            = 10;
  137.     kUnMirrorDisplayBit            = 11;
  138.  
  139.  
  140.                                                                 {  Notification Messages for extended call back routines  }
  141.     kDMNotifyInstalled            = 1;                            {  At install time  }
  142.     kDMNotifyEvent                = 2;                            {  Post change time  }
  143.     kDMNotifyRemoved            = 3;                            {  At remove time  }
  144.     kDMNotifyPrep                = 4;                            {  Pre change time  }
  145.     kDMNotifyExtendEvent        = 5;                            {  Allow registrees to extend apple event before it is sent  }
  146.     kDMNotifyDependents            = 6;                            {  Minor notification check without full update  }
  147.     kDMNotifySuspendConfigure    = 7;                            {  Temporary end of configuration  }
  148.     kDMNotifyResumeConfigure    = 8;                            {  Resume configuration  }
  149.     kDMNotifyRequestDisplayProbe = 9;                            {  Request smart displays re-probe (used in sleep and hot plugging)  }
  150.                                                                 {  Notification Flags  }
  151.     kExtendedNotificationProc    = $00010000;
  152.  
  153.  
  154. { types for notifyType }
  155.     kFullNotify                    = 0;                            {  This is the appleevent whole nine yards notify  }
  156.     kFullDependencyNotify        = 1;                            {  Only sends to those who want to know about interrelated functionality (used for updating UI)  }
  157.  
  158. { DisplayID/DeviceID constants }
  159.     kDummyDeviceID                = $00FF;                        {  This is the ID of the dummy display, used when the last “real” display is disabled. }
  160.     kInvalidDisplayID            = $0000;                        {  This is the invalid ID }
  161.     kFirstDisplayID                = $0100;
  162.  
  163.                                                                 {  bits for panelListFlags  }
  164.     kAllowDuplicatesBit            = 0;
  165.  
  166.                                                                 {  bits for nameFlags  }
  167.     kSuppressNumberBit            = 0;
  168.     kSuppressNumberMask            = 1;
  169.     kForceNumberBit                = 1;
  170.     kForceNumberMask            = 2;
  171.     kSuppressNameBit            = 2;
  172.     kSuppressNameMask            = 4;
  173.  
  174.  
  175.  
  176. { Constants for fidelity checks }
  177.     kNoFidelity                    = 0;
  178.     kMinimumFidelity            = 1;
  179.     kDefaultFidelity            = 500;                            {  I'm just picking a number for Apple default panels and engines }
  180.     kDefaultManufacturerFidelity = 1000;                        {  I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults) }
  181.  
  182.     kAnyPanelType                = 0;                            {  Pass to DMNewEngineList for list of all panels (as opposed to specific types) }
  183.     kAnyEngineType                = 0;                            {  Pass to DMNewEngineList for list of all engines }
  184.     kAnyDeviceType                = 0;                            {  Pass to DMNewDeviceList for list of all devices }
  185.     kAnyPortType                = 0;                            {  Pass to DMNewDevicePortList for list of all devices }
  186.  
  187. { portListFlags for DM_NewDevicePortList }
  188.                                                                 {  Should offline devices be put into the port list (such as dummy display)  }
  189.     kPLIncludeOfflineDevicesBit    = 0;
  190.  
  191.  
  192. { confirmFlags for DMConfirmConfiguration }
  193.     kForceConfirmBit            = 0;                            {  Force a confirm dialog  }
  194.     kForceConfirmMask            = $01;
  195.  
  196.  
  197. { Flags for displayModeFlags }
  198.     kDisplayModeListNotPreferredBit = 0;
  199.     kDisplayModeListNotPreferredMask = $01;
  200.  
  201.  
  202. { Flags for itemFlags }
  203.     kComponentListNotPreferredBit = 0;
  204.     kComponentListNotPreferredMask = $01;
  205.  
  206.     kDisplayTimingInfoVersionZero = 1;
  207.     kDisplayTimingInfoReservedCountVersionZero = 16;
  208.     kDisplayModeEntryVersionZero = 0;                            {  displayModeVersion - original version }
  209.     kDisplayModeEntryVersionOne    = 1;                            {  displayModeVersion - added displayModeOverrideInfo }
  210.  
  211.  
  212.  
  213.  
  214. TYPE
  215.     DMFidelityType                        = UInt32;
  216. {
  217.    AVID is an ID for ports and devices the old DisplayID type
  218.       is carried on for compatibility
  219. }
  220.  
  221.     AVIDType                            = UInt32;
  222.     DisplayIDType                        = AVIDType;
  223.     DMListType                            = Ptr;
  224.     DMListIndexType                        = UInt32;
  225.     AVPowerStateRec                        = VDPowerStateRec;
  226.     AVPowerStateRecPtr                     = ^AVPowerStateRec;
  227.     AVPowerStatePtr                        = ^VDPowerStateRec;
  228.     DMDisplayTimingInfoRecPtr = ^DMDisplayTimingInfoRec;
  229.     DMDisplayTimingInfoRec = RECORD
  230.         timingInfoVersion:        UInt32;
  231.         timingInfoAttributes:    UInt32;                                    {  Flags  }
  232.         timingInfoRelativeQuality: SInt32;                                {  quality of the timing  }
  233.         timingInfoRelativeDefault: SInt32;                                {  relative default of the timing  }
  234.         timingInfoReserved:        ARRAY [0..15] OF UInt32;                {  Reserved  }
  235.     END;
  236.  
  237.     DMDisplayTimingInfoPtr                = ^DMDisplayTimingInfoRec;
  238.  
  239.     DMComponentListEntryRecPtr = ^DMComponentListEntryRec;
  240.     DMComponentListEntryRec = RECORD
  241.         itemID:                    DisplayIDType;                            {  DisplayID Manager }
  242.         itemComponent:            Component;                                {  Component Manager }
  243.         itemDescription:        ComponentDescription;                    {  We can always construct this if we use something beyond the compontent mgr. }
  244.         itemClass:                ResType;                                {  Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices) }
  245.         itemFidelity:            DMFidelityType;                            {  How good is this item for the specified search? }
  246.         itemSubClass:            ResType;                                {  Subclass of group to put this panel.  Can use to do sub-grouping (eg volume for volume panel and mute panel) }
  247.         itemSort:                Point;                                    {  Set to 0 - future to sort the items in a sub group. }
  248.         itemFlags:                UInt32;                                    {  Set to 0 (future expansion) }
  249.         itemReserved:            ResType;                                {  What kind of code does the itemReference point to  (right now - kPanelEntryTypeComponentMgr only) }
  250.         itemFuture1:            UInt32;                                    {  Set to 0 (future expansion - probably an alternate code style) }
  251.         itemFuture2:            UInt32;                                    {  Set to 0 (future expansion - probably an alternate code style) }
  252.         itemFuture3:            UInt32;                                    {  Set to 0 (future expansion - probably an alternate code style) }
  253.         itemFuture4:            UInt32;                                    {  Set to 0 (future expansion - probably an alternate code style) }
  254.     END;
  255.  
  256.     DMComponentListEntryPtr                = ^DMComponentListEntryRec;
  257. {  ••• Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created }
  258.     AVLocationRecPtr = ^AVLocationRec;
  259.     AVLocationRec = RECORD
  260.         locationConstant:        UInt32;                                    {  Set to 0 (future expansion - probably an alternate code style) }
  261.     END;
  262.  
  263.     AVLocationPtr                        = ^AVLocationRec;
  264.     DMDepthInfoRecPtr = ^DMDepthInfoRec;
  265.     DMDepthInfoRec = RECORD
  266.         depthSwitchInfo:        VDSwitchInfoPtr;                        {  This is the switch mode to choose this timing/depth  }
  267.         depthVPBlock:            VPBlockPtr;                                {  VPBlock (including size, depth and format)  }
  268.         depthFlags:                UInt32;                                    {  VDVideoParametersInfoRec.csDepthFlags   }
  269.         depthReserved1:            UInt32;                                    {  Reserved  }
  270.         depthReserved2:            UInt32;                                    {  Reserved  }
  271.     END;
  272.  
  273.     DMDepthInfoPtr                        = ^DMDepthInfoRec;
  274.     DMDepthInfoBlockRecPtr = ^DMDepthInfoBlockRec;
  275.     DMDepthInfoBlockRec = RECORD
  276.         depthBlockCount:        UInt32;                                    {  How many depths are there?  }
  277.         depthVPBlock:            DMDepthInfoPtr;                            {  Array of DMDepthInfoRec  }
  278.         depthBlockFlags:        UInt32;                                    {  Reserved  }
  279.         depthBlockReserved1:    UInt32;                                    {  Reserved  }
  280.         depthBlockReserved2:    UInt32;                                    {  Reserved  }
  281.     END;
  282.  
  283.     DMDepthInfoBlockPtr                    = ^DMDepthInfoBlockRec;
  284.     DMDisplayModeListEntryRecPtr = ^DMDisplayModeListEntryRec;
  285.     DMDisplayModeListEntryRec = RECORD
  286.         displayModeFlags:        UInt32;
  287.         displayModeSwitchInfo:    VDSwitchInfoPtr;
  288.         displayModeResolutionInfo: VDResolutionInfoPtr;
  289.         displayModeTimingInfo:    VDTimingInfoPtr;
  290.         displayModeDepthBlockInfo: DMDepthInfoBlockPtr;                    {  Information about all the depths }
  291.         displayModeVersion:        UInt32;                                    {  What version is this record (now kDisplayModeEntryVersionOne) }
  292.         displayModeName:        StringPtr;                                {  Name of the timing mode }
  293.         displayModeDisplayInfo:    DMDisplayTimingInfoPtr;                    {  Information from the display. }
  294.     END;
  295.  
  296.     DMDisplayModeListEntryPtr            = ^DMDisplayModeListEntryRec;
  297.  
  298.     DependentNotifyRecPtr = ^DependentNotifyRec;
  299.     DependentNotifyRec = RECORD
  300.         notifyType:                ResType;                                {  What type was the engine that made the change (may be zero) }
  301.         notifyClass:            ResType;                                {  What class was the change (eg geometry, color etc) }
  302.         notifyPortID:            DisplayIDType;                            {  Which device was touched (kInvalidDisplayID -> all or none) }
  303.         notifyComponent:        ComponentInstance;                        {  What engine did it (may be 0)? }
  304.         notifyVersion:            UInt32;                                    {  Set to 0 (future expansion) }
  305.         notifyFlags:            UInt32;                                    {  Set to 0 (future expansion) }
  306.         notifyReserved:            UInt32;                                    {  Set to 0 (future expansion) }
  307.         notifyFuture:            UInt32;                                    {  Set to 0 (future expansion) }
  308.     END;
  309.  
  310.     DependentNotifyPtr                    = ^DependentNotifyRec;
  311. { Exports to support Interfaces library containing unused calls }
  312. {$IFC NOT FOR_GLUE_LIB }
  313. {$ENDC}
  314.  
  315. {$IFC TYPED_FUNCTION_POINTERS}
  316.     DMNotificationProcPtr = PROCEDURE(VAR theEvent: AppleEvent);
  317. {$ELSEC}
  318.     DMNotificationProcPtr = ProcPtr;
  319. {$ENDC}
  320.  
  321. {$IFC TYPED_FUNCTION_POINTERS}
  322.     DMExtendedNotificationProcPtr = PROCEDURE(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr);
  323. {$ELSEC}
  324.     DMExtendedNotificationProcPtr = ProcPtr;
  325. {$ENDC}
  326.  
  327. {$IFC TYPED_FUNCTION_POINTERS}
  328.     DMComponentListIteratorProcPtr = PROCEDURE(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr);
  329. {$ELSEC}
  330.     DMComponentListIteratorProcPtr = ProcPtr;
  331. {$ENDC}
  332.  
  333. {$IFC TYPED_FUNCTION_POINTERS}
  334.     DMDisplayModeListIteratorProcPtr = PROCEDURE(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr);
  335. {$ELSEC}
  336.     DMDisplayModeListIteratorProcPtr = ProcPtr;
  337. {$ENDC}
  338.  
  339.     DMNotificationUPP = UniversalProcPtr;
  340.     DMExtendedNotificationUPP = UniversalProcPtr;
  341.     DMComponentListIteratorUPP = UniversalProcPtr;
  342.     DMDisplayModeListIteratorUPP = UniversalProcPtr;
  343.  
  344. CONST
  345.     uppDMNotificationProcInfo = $000000C0;
  346.     uppDMExtendedNotificationProcInfo = $00000EC0;
  347.     uppDMComponentListIteratorProcInfo = $00000FC0;
  348.     uppDMDisplayModeListIteratorProcInfo = $00000FC0;
  349.  
  350. FUNCTION NewDMNotificationProc(userRoutine: DMNotificationProcPtr): DMNotificationUPP;
  351.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  352.     INLINE $2E9F;
  353.     {$ENDC}
  354.  
  355. FUNCTION NewDMExtendedNotificationProc(userRoutine: DMExtendedNotificationProcPtr): DMExtendedNotificationUPP;
  356.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  357.     INLINE $2E9F;
  358.     {$ENDC}
  359.  
  360. FUNCTION NewDMComponentListIteratorProc(userRoutine: DMComponentListIteratorProcPtr): DMComponentListIteratorUPP;
  361.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  362.     INLINE $2E9F;
  363.     {$ENDC}
  364.  
  365. FUNCTION NewDMDisplayModeListIteratorProc(userRoutine: DMDisplayModeListIteratorProcPtr): DMDisplayModeListIteratorUPP;
  366.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  367.     INLINE $2E9F;
  368.     {$ENDC}
  369.  
  370. PROCEDURE CallDMNotificationProc(VAR theEvent: AppleEvent; userRoutine: DMNotificationUPP);
  371.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  372.     INLINE $205F, $4E90;
  373.     {$ENDC}
  374.  
  375. PROCEDURE CallDMExtendedNotificationProc(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr; userRoutine: DMExtendedNotificationUPP);
  376.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  377.     INLINE $205F, $4E90;
  378.     {$ENDC}
  379.  
  380. PROCEDURE CallDMComponentListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr; userRoutine: DMComponentListIteratorUPP);
  381.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  382.     INLINE $205F, $4E90;
  383.     {$ENDC}
  384.  
  385. PROCEDURE CallDMDisplayModeListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr; userRoutine: DMDisplayModeListIteratorUPP);
  386.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  387.     INLINE $205F, $4E90;
  388.     {$ENDC}
  389.  
  390. { Trap interfaces }
  391.  
  392. {$IFC NOT FOR_GLUE_LIB }
  393. FUNCTION DMGetFirstScreenDevice(activeOnly: BOOLEAN): GDHandle;
  394.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  395.     INLINE $7000, $ABEB;
  396.     {$ENDC}
  397. FUNCTION DMGetNextScreenDevice(theDevice: GDHandle; activeOnly: BOOLEAN): GDHandle;
  398.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  399.     INLINE $7001, $ABEB;
  400.     {$ENDC}
  401. PROCEDURE DMDrawDesktopRect(VAR globalRect: Rect);
  402.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  403.     INLINE $7002, $ABEB;
  404.     {$ENDC}
  405. PROCEDURE DMDrawDesktopRegion(globalRgn: RgnHandle);
  406.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  407.     INLINE $7003, $ABEB;
  408.     {$ENDC}
  409.  
  410.  
  411. FUNCTION DMBeginConfigureDisplays(VAR displayState: Handle): OSErr;
  412.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  413.     INLINE $303C, $0206, $ABEB;
  414.     {$ENDC}
  415. FUNCTION DMEndConfigureDisplays(displayState: Handle): OSErr;
  416.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  417.     INLINE $303C, $0207, $ABEB;
  418.     {$ENDC}
  419. FUNCTION DMAddDisplay(newDevice: GDHandle; driver: INTEGER; mode: UInt32; reserved: UInt32; displayID: UInt32; displayComponent: Component; displayState: Handle): OSErr;
  420.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  421.     INLINE $303C, $0D08, $ABEB;
  422.     {$ENDC}
  423. FUNCTION DMMoveDisplay(moveDevice: GDHandle; x: INTEGER; y: INTEGER; displayState: Handle): OSErr;
  424.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  425.     INLINE $303C, $0609, $ABEB;
  426.     {$ENDC}
  427. FUNCTION DMDisableDisplay(disableDevice: GDHandle; displayState: Handle): OSErr;
  428.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  429.     INLINE $303C, $040A, $ABEB;
  430.     {$ENDC}
  431. FUNCTION DMEnableDisplay(enableDevice: GDHandle; displayState: Handle): OSErr;
  432.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  433.     INLINE $303C, $040B, $ABEB;
  434.     {$ENDC}
  435. FUNCTION DMRemoveDisplay(removeDevice: GDHandle; displayState: Handle): OSErr;
  436.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  437.     INLINE $303C, $040C, $ABEB;
  438.     {$ENDC}
  439.  
  440.  
  441.  
  442. FUNCTION DMSetMainDisplay(newMainDevice: GDHandle; displayState: Handle): OSErr;
  443.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  444.     INLINE $303C, $0410, $ABEB;
  445.     {$ENDC}
  446. FUNCTION DMSetDisplayMode(theDevice: GDHandle; mode: UInt32; VAR depthMode: UInt32; reserved: UInt32; displayState: Handle): OSErr;
  447.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  448.     INLINE $303C, $0A11, $ABEB;
  449.     {$ENDC}
  450. FUNCTION DMCheckDisplayMode(theDevice: GDHandle; mode: UInt32; depthMode: UInt32; VAR switchFlags: UInt32; reserved: UInt32; VAR modeOk: BOOLEAN): OSErr;
  451.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  452.     INLINE $303C, $0C12, $ABEB;
  453.     {$ENDC}
  454. FUNCTION DMGetDeskRegion(VAR desktopRegion: RgnHandle): OSErr;
  455.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  456.     INLINE $303C, $0213, $ABEB;
  457.     {$ENDC}
  458. FUNCTION DMRegisterNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  459.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  460.     INLINE $303C, $0414, $ABEB;
  461.     {$ENDC}
  462. FUNCTION DMRemoveNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  463.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  464.     INLINE $303C, $0415, $ABEB;
  465.     {$ENDC}
  466.  
  467. FUNCTION DMQDIsMirroringCapable(VAR qdIsMirroringCapable: BOOLEAN): OSErr;
  468.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  469.     INLINE $303C, $0216, $ABEB;
  470.     {$ENDC}
  471. FUNCTION DMCanMirrorNow(VAR canMirrorNow: BOOLEAN): OSErr;
  472.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  473.     INLINE $303C, $0217, $ABEB;
  474.     {$ENDC}
  475. FUNCTION DMIsMirroringOn(VAR isMirroringOn: BOOLEAN): OSErr;
  476.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  477.     INLINE $303C, $0218, $ABEB;
  478.     {$ENDC}
  479. FUNCTION DMMirrorDevices(gD1: GDHandle; gD2: GDHandle; displayState: Handle): OSErr;
  480.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  481.     INLINE $303C, $0619, $ABEB;
  482.     {$ENDC}
  483. FUNCTION DMUnmirrorDevice(gDevice: GDHandle; displayState: Handle): OSErr;
  484.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  485.     INLINE $303C, $041A, $ABEB;
  486.     {$ENDC}
  487. FUNCTION DMGetNextMirroredDevice(gDevice: GDHandle; VAR mirroredDevice: GDHandle): OSErr;
  488.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  489.     INLINE $303C, $041B, $ABEB;
  490.     {$ENDC}
  491. FUNCTION DMBlockMirroring: OSErr;
  492.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  493.     INLINE $701C, $ABEB;
  494.     {$ENDC}
  495. FUNCTION DMUnblockMirroring: OSErr;
  496.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  497.     INLINE $701D, $ABEB;
  498.     {$ENDC}
  499. FUNCTION DMGetDisplayMgrA5World(VAR dmA5: Ptr): OSErr;
  500.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  501.     INLINE $303C, $021E, $ABEB;
  502.     {$ENDC}
  503. FUNCTION DMGetDisplayIDByGDevice(displayDevice: GDHandle; VAR displayID: DisplayIDType; failToMain: BOOLEAN): OSErr;
  504.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  505.     INLINE $303C, $051F, $ABEB;
  506.     {$ENDC}
  507. FUNCTION DMGetGDeviceByDisplayID(displayID: DisplayIDType; VAR displayDevice: GDHandle; failToMain: BOOLEAN): OSErr;
  508.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  509.     INLINE $303C, $0520, $ABEB;
  510.     {$ENDC}
  511. FUNCTION DMSetDisplayComponent(theDevice: GDHandle; displayComponent: Component): OSErr;
  512.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  513.     INLINE $303C, $0421, $ABEB;
  514.     {$ENDC}
  515. FUNCTION DMGetDisplayComponent(theDevice: GDHandle; VAR displayComponent: Component): OSErr;
  516.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  517.     INLINE $303C, $0422, $ABEB;
  518.     {$ENDC}
  519. FUNCTION DMNewDisplay(VAR newDevice: GDHandle; driverRefNum: INTEGER; mode: UInt32; reserved: UInt32; displayID: DisplayIDType; displayComponent: Component; displayState: Handle): OSErr;
  520.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  521.     INLINE $303C, $0D23, $ABEB;
  522.     {$ENDC}
  523. FUNCTION DMDisposeDisplay(disposeDevice: GDHandle; displayState: Handle): OSErr;
  524.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  525.     INLINE $303C, $0424, $ABEB;
  526.     {$ENDC}
  527. FUNCTION DMResolveDisplayComponents: OSErr;
  528.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  529.     INLINE $7025, $ABEB;
  530.     {$ENDC}
  531. {$ENDC}
  532.  
  533. {$IFC NOT FOR_68kGLUE_LIB }
  534. FUNCTION DMRegisterExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; nofifyOnFlags: UInt16; whichPSN: ProcessSerialNumberPtr): OSErr;
  535.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  536.     INLINE $303C, $07EF, $ABEB;
  537.     {$ENDC}
  538. FUNCTION DMRemoveExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; whichPSN: ProcessSerialNumberPtr; removeFlags: UInt16): OSErr;
  539.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  540.     INLINE $303C, $0726, $ABEB;
  541.     {$ENDC}
  542. {$ENDC}
  543.  
  544. FUNCTION DMNewAVPanelList(displayID: DisplayIDType; panelType: ResType; minimumFidelity: DMFidelityType; panelListFlags: UInt32; reserved: UInt32; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  545.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  546.     INLINE $303C, $0C27, $ABEB;
  547.     {$ENDC}
  548. FUNCTION DMNewAVEngineList(displayID: DisplayIDType; engineType: ResType; minimumFidelity: DMFidelityType; engineListFlags: UInt32; reserved: UInt32; VAR engineCount: DMListIndexType; VAR engineList: DMListType): OSErr;
  549.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  550.     INLINE $303C, $0C28, $ABEB;
  551.     {$ENDC}
  552. FUNCTION DMNewAVDeviceList(deviceType: ResType; deviceListFlags: UInt32; reserved: UInt32; VAR deviceCount: DMListIndexType; VAR deviceList: DMListType): OSErr;
  553.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  554.     INLINE $303C, $0A29, $ABEB;
  555.     {$ENDC}
  556. FUNCTION DMNewAVPortListByPortType(subType: ResType; portListFlags: UInt32; reserved: UInt32; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  557.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  558.     INLINE $303C, $0A2A, $ABEB;
  559.     {$ENDC}
  560. FUNCTION DMGetIndexedComponentFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: UInt32; listIterator: DMComponentListIteratorUPP; userData: UNIV Ptr): OSErr;
  561.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  562.     INLINE $303C, $0A2B, $ABEB;
  563.     {$ENDC}
  564. {$IFC NOT FOR_68kGLUE_LIB }
  565. FUNCTION DMDisposeList(panelList: DMListType): OSErr;
  566.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  567.     INLINE $303C, $022C, $ABEB;
  568.     {$ENDC}
  569. {$ENDC}
  570.  
  571. FUNCTION DMGetNameByAVID(theID: AVIDType; nameFlags: UInt32; VAR name: Str255): OSErr;
  572.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  573.     INLINE $303C, $062D, $ABEB;
  574.     {$ENDC}
  575. FUNCTION DMNewAVIDByPortComponent(thePortComponent: Component; portKind: ResType; reserved: UInt32; VAR newID: AVIDType): OSErr;
  576.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  577.     INLINE $303C, $082E, $ABEB;
  578.     {$ENDC}
  579. FUNCTION DMGetPortComponentByAVID(thePortID: DisplayIDType; VAR thePortComponent: Component; VAR theDesciption: ComponentDescription; VAR thePortKind: ResType): OSErr;
  580.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  581.     INLINE $303C, $082F, $ABEB;
  582.     {$ENDC}
  583. {$IFC NOT FOR_68kGLUE_LIB }
  584. FUNCTION DMSendDependentNotification(notifyType: ResType; notifyClass: ResType; displayID: AVIDType; notifyComponent: ComponentInstance): OSErr;
  585.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  586.     INLINE $303C, $0830, $ABEB;
  587.     {$ENDC}
  588. {$ENDC}
  589.  
  590. FUNCTION DMDisposeAVComponent(theAVComponent: Component): OSErr;
  591.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  592.     INLINE $303C, $0231, $ABEB;
  593.     {$ENDC}
  594. FUNCTION DMSaveScreenPrefs(reserved1: UInt32; saveFlags: UInt32; reserved2: UInt32): OSErr;
  595.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  596.     INLINE $303C, $0632, $ABEB;
  597.     {$ENDC}
  598. FUNCTION DMNewAVIDByDeviceComponent(theDeviceComponent: Component; portKind: ResType; reserved: UInt32; VAR newID: DisplayIDType): OSErr;
  599.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  600.     INLINE $303C, $0833, $ABEB;
  601.     {$ENDC}
  602. FUNCTION DMNewAVPortListByDeviceAVID(theID: AVIDType; minimumFidelity: DMFidelityType; portListFlags: UInt32; reserved: UInt32; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  603.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  604.     INLINE $303C, $0C34, $ABEB;
  605.     {$ENDC}
  606. FUNCTION DMGetDeviceComponentByAVID(theDeviceID: AVIDType; VAR theDeviceComponent: Component; VAR theDesciption: ComponentDescription; VAR theDeviceKind: ResType): OSErr;
  607.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  608.     INLINE $303C, $0835, $ABEB;
  609.     {$ENDC}
  610. FUNCTION DMNewDisplayModeList(displayID: DisplayIDType; modeListFlags: UInt32; reserved: UInt32; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  611.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  612.     INLINE $303C, $0A36, $ABEB;
  613.     {$ENDC}
  614. FUNCTION DMGetIndexedDisplayModeFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: UInt32; listIterator: DMDisplayModeListIteratorUPP; userData: UNIV Ptr): OSErr;
  615.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  616.     INLINE $303C, $0A37, $ABEB;
  617.     {$ENDC}
  618. FUNCTION DMGetGraphicInfoByAVID(theID: AVIDType; VAR theAVPcit: PicHandle; VAR theAVIconSuite: Handle; VAR theAVLocation: AVLocationRec): OSErr;
  619.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  620.     INLINE $303C, $0838, $ABEB;
  621.     {$ENDC}
  622. FUNCTION DMGetAVPowerState(theID: AVIDType; getPowerState: AVPowerStatePtr; reserved1: UInt32): OSErr;
  623.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  624.     INLINE $303C, $0839, $ABEB;
  625.     {$ENDC}
  626. FUNCTION DMSetAVPowerState(theID: AVIDType; setPowerState: AVPowerStatePtr; powerFlags: UInt32; displayState: Handle): OSErr;
  627.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  628.     INLINE $303C, $083A, $ABEB;
  629.     {$ENDC}
  630. FUNCTION DMGetDeviceAVIDByPortAVID(portAVID: AVIDType; VAR deviceAVID: AVIDType): OSErr;
  631.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  632.     INLINE $303C, $043B, $ABEB;
  633.     {$ENDC}
  634. FUNCTION DMGetEnableByAVID(theAVID: AVIDType; VAR isAVIDEnabledNow: BOOLEAN; VAR canChangeEnableNow: BOOLEAN): OSErr;
  635.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  636.     INLINE $303C, $063C, $ABEB;
  637.     {$ENDC}
  638. FUNCTION DMSetEnableByAVID(theAVID: AVIDType; doEnable: BOOLEAN; displayState: Handle): OSErr;
  639.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  640.     INLINE $303C, $053D, $ABEB;
  641.     {$ENDC}
  642. FUNCTION DMGetDisplayMode(theDevice: GDHandle; switchInfo: VDSwitchInfoPtr): OSErr;
  643.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  644.     INLINE $303C, $043E, $ABEB;
  645.     {$ENDC}
  646. FUNCTION DMConfirmConfiguration(filterProc: ModalFilterUPP; confirmFlags: UInt32; reserved: UInt32; displayState: Handle): OSErr;
  647.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  648.     INLINE $303C, $083F, $ABEB;
  649.     {$ENDC}
  650.  
  651. {$ALIGN RESET}
  652. {$POP}
  653.  
  654. {$SETC UsingIncludes := DisplaysIncludes}
  655.  
  656. {$ENDC} {__DISPLAYS__}
  657.  
  658. {$IFC NOT UsingIncludes}
  659.  END.
  660. {$ENDC}
  661.